package com.gzpi.hwgggh.mapper;

import com.gzpi.hwgggh.entity.DWX;
import com.gzpi.hwgggh.vo.ClickTableVo;
import com.gzpi.hwgggh.vo.ExportConditionVo;
import com.gzpi.hwgggh.vo.SearchConditionVo;
import com.gzpi.hwgggh.vo.StatisticsTableVo;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @date : 2020-12-21 17:19
 **/
public interface DWXMapper {

    /**
     * 根据map条件 查询 现状点信息和现状|规划广告牌集合
     * @param map
     * @return
     */
    DWX selectDWXBandGgpXGListByMap(Map<String,Object> map);

    int insertDWX(DWX dwx);

    int selectDWXTableTotal(StatisticsTableVo statisticsTableVo);

    List<Map> selectDWXTable(StatisticsTableVo statisticsTableVo);



    /**
     * 根据searchConditionVo条件查询现状点集合信息
     * @param searchConditionVo
     * @return
     */
    List<DWX> selectDWXListBySearchVo(SearchConditionVo searchConditionVo);

    /**
     * 根据map条件查询现状点信息
     * @param map
     * @return
     */
    DWX selectDWXByID(Map<String, Object> map);

    /**
     * 修改现状点位信息
     * @param dwx
     * @return
     */
    int updateDWX(DWX dwx);

    /**
     * 根据map条件查看dwx信息是否存在
     * @param
     * @return
     */
    int selectDWXCountByMap(Map<String,Object> map);

    /**
     * 根据行政区和所属街道获取点位编号
     * @param xzq
     * @param szjd
     * @return
     */
    List<Map<String,Object>> selectAllDwbhByXzqAndSzjd(@Param("xzq") String xzq,@Param("szjd") String szjd);

    /**
     * 根据map条件查询 现状点与现状广告牌、规划广告牌（一对多） 现状点与点位图片（一对一） 现状点与规划点（一对一）
     * @param map
     * @return
     */
    DWX selectDWXGBandGgpXGListAndDwtpByMap(Map<String, Object> map);

    /**
     * 根据exportConditionVo条件查询现状点列表 现状点与现状广告牌、规划广告牌（一对多） 现状点与点位图片（一对一） 现状点与规划点（一对一）
     * @param exportConditionVo
     * @return
     */
    List<DWX> selectDWXGListBandGgpXGListAndDwtpByVo(ExportConditionVo exportConditionVo);

    /**
     * 根据点位编号修改点位信息
     * @param dwx
     */
    int updateDWXByDWBH(DWX dwx);

    /**
     * 根据现状点位id获取序号
     * @param dwxid
     * @return
     */
    String selectDWXH(String ID);

    /**
     * 删除点位现状信息
     * @param ID
     * @return
     */
    int deleteDWXById(String ID);

    /**
     * 根据map条件 获取现状点位集合
     * @param map
     * @return
     */
    List<DWX> selectDWXListByMap(Map<String, Object> map);

    /**
     * 根据map条件 获取现状点位信息
     * @param dwbh
     * @return
     */
    DWX selectDWXByDwbh(HashMap<String, Object> dwbh);

    /**
     * 根据路段编号获取
     *
     * @param ldbh
     * @param xh
     * @return
     */
    List<DWX> selectDWXListByLdbh(@Param("ldbh") String ldbh,@Param("xh") String xh);

    List<Map> selectDWXTableByClickTableVo(ClickTableVo clickTableVo);
}
